# BUILD FILE SYNTAX: SKYLARK
java_library(name = 'interactions',
  srcs = [
    'Actions.java',
    'KeyInput.java',
    'IsInteraction.java',
    'PointerInput.java',
  ] + glob(['*Action.java', 'internal/*Action.java', 'touch/*.java'], exclude = ['Action.java', 'IsInteraction.java']),
  exported_deps = [
    ':core',
    ':exceptions',
    '//java/client/src/org/openqa/selenium:core',
  ],
  deps = [
    '//java/client/src/org/openqa/selenium:beta',
    '//java/client/src/org/openqa/selenium:exceptions',
    '//third_party/java/guava:guava',
  ],
  visibility = [
    '//java/client/src/org/openqa/selenium:selenium',
  ],
)

java_library(name = 'core',
  srcs = [
    'Action.java',
    'Encodable.java',
    'HasInputDevices.java',
    'HasTouchScreen.java',
    'InputSource.java',
    'Interaction.java',
    'Interactive.java',
    'Keyboard.java',
    'Mouse.java',
    'Pause.java',
    'Sequence.java',
    'SourceType.java',
    'TouchScreen.java',
    'internal/Coordinates.java',
    'internal/Locatable.java',
  ],
  deps = [
    '//java/client/src/org/openqa/selenium:primitives',
  ],
  visibility = [
    '//java/client/src/org/openqa/selenium:core',
  ],
)

java_library(name = 'exceptions',
  srcs = [
    'InvalidCoordinatesException.java',
    'MoveTargetOutOfBoundsException.java',
  ],
  deps = [
    '//java/client/src/org/openqa/selenium:exceptions',
  ],
  visibility = [
    '//java/client/src/org/openqa/selenium:core',
    '//java/client/src/org/openqa/selenium/remote:remote',
  ],
)
